//=======================================Copyright(c)===========================================
// 								  深圳易马达科技有限公司
//---------------------------------------文件信息----------------------------------------------
//文件名   	: SleepMode.h
//创建人  	: Handry
//创建日期	: 
//描述	    : 睡眠模式头文件
//-----------------------------------------------当前版本修订----------------------------------
//修改人   	:
//版本	    :
//修改日期	:
//描述	    :
//=============================================================================================
#ifndef _SLEEPMODE_H_
#define _SLEEPMODE_H_

//=============================================================================================
//头文件
//=============================================================================================
#include "BSPTypeDef.h"

//=============================================================================================
//宏参数设定
//=============================================================================================
#define     SLEEP_COND_DELAY        5000    //无通信5S，进入睡眠模式

#define     SLEEP_PERIOD_WAKEUP     10      //睡眠模式唤醒周期，秒

#define     SLPPRO_IICERR_MASK      0x01
#define     SLPPRO_AFEFLT_MASK      0x02
#define     SLPPRO_OC_MASK          0x04
#define     SLPPRO_IICERROVER_MASK  0x08
#define     SLPPRO_B16F_MASK        0x10
#define     SLPPRO_G2_MASK          0x20
#define     SLPPRO_OT_MASK          0x40

//=============================================================================================
//数据类型定义
//=============================================================================================
//睡眠相关
typedef struct
{
    u8 cond;    //睡眠相关位
    u8 sleepen; //睡眠使能
}t_SLEEP_COND;

//睡眠检测结构体
typedef struct
{
    u8 iicerr;
    u8 occnt;
    u8 v16cnt;
    u8 tempcnt;
    u8 res;
}t_SLEEP_CHECK;

//=============================================================================================
//声明变量，供外部使用
//=============================================================================================
extern t_SLEEP_CHECK gSleepCheckData;    //睡眠检测结构体

//=============================================================================================
//声明接口函数
//=============================================================================================

//=============================================================================================
//函数名称	: void SleepModeInit(void)
//函数参数	:
//输出参数	:
//静态变量	:
//功    能	: 睡眠模式初始化函数
//注    意	:
//=============================================================================================
void SleepModeInit(void);

//=============================================================================================
//函数名称	: void SleepModeClearData(void)
//函数参数	:
//输出参数	:
//静态变量	:
//功    能	: 清除睡眠模式数据
//注    意	:
//=============================================================================================
void SleepModeClearData(void);

//=============================================================================================
//函数名称	: void SleepModeCheck(void)
//函数参数	: void
//输出参数	: void
//静态变量	:
//功    能	: 睡眠模式判断，确认是否进入睡眠模式
//注    意	:
//=============================================================================================
void SleepModeCheck(void);

//=============================================================================================
//函数名称	: void SleepModeProcess(void)
//函数参数	: 睡眠模式检测参数指针
//输出参数	: void
//静态变量	:
//功    能	: 睡眠模式处理
//注    意	:
//=============================================================================================
void SleepModeProcess(void);

//=============================================================================================
//函数名称	: void SleepModeTask(void)
//函数参数	: void
//输出参数	: void
//静态变量	:
//功    能	: 睡眠模式任务函数
//注    意	:
//=============================================================================================
void SleepModeTask(void);

#endif

/*****************************************end of SleepMode.h*****************************************/
